package org.example.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

@TableName(value = "salary_payment_records")
public class SalaryPaymentRecords {
    /**
     * 鍞竴鏍囪瘑钖叕鍙戞斁璁板綍鐨勭紪鍙凤紝渚夸簬鏌ヨ鍜屾牳瀵瑰彂鏀炬儏鍐?
     */
    @TableId(value = "records_id", type = IdType.INPUT)
    private Integer recordsId;

    /**
     * 涓庡憳宸ュ熀鏈俊鎭〃涓殑鍛樺伐ID鍏宠仈锛屾槑纭彂鏀惧璞?
     */
    @TableField(value = "emp")
    private String emp;

    @TableField(value = "departmental")
    private String departmental;

    @TableField(value = "postsName")
    private String postsname;

    /**
     * 鍛樺伐褰撴湀搴斿緱鐨勮柂閰€婚锛屾牴鎹柂閰粨鏋勮〃鍙婅€冨嫟缁╂晥璁＄畻寰楀嚭
     */
    @TableField(value = "amount_due")
    private Double amountDue;

    @TableField(value = "subsidy")
    private Double subsidy;

    /**
     * 鏍煎紡涓篩YYYMM锛屾爣璇嗚柂閰彂鏀剧殑鏈堜唤锛屼笌鑰冨嫟缁╂晥鏈堜唤涓€鑷?
     */
    @TableField(value = "pay_salary")
    private Double paySalary;

    /**
     * 员工当月应缴纳的个人所得税，按国家税法规定计算
     */
    @TableField(value = "personal_income_tax")
    private Double personalIncomeTax;

    /**
     * 员工当月个人缴纳的社会保险费用，包括养老、医疗、失业等
     */
    @TableField(value = "social_security")
    private Double socialSecurity;

    /**
     * 员工当月个人缴纳的住房公积金费用，按规定比例从薪酬中扣除
     */
    @TableField(value = "accumulation_fund")
    private Double accumulationFund;

    /**
     * 其他需要从薪酬中扣除的费用，如罚款、借款等
     */
    @TableField(value = "other_chargebacks")
    private Double otherChargebacks;

    /**
     * 员工当月实际收到的薪酬金额，应发金额减去各项扣款后的金额
     */
    @TableField(value = "actual_amount")
    private Double actualAmount;

    /**
     * 钖叕鍙戞斁鐨勬棩鏈燂紝鏍煎紡涓篩YYYMMDD锛岀敤浜庤褰曟敮浠樻椂闂?
     */
    @TableField(value = "release_date")
    private Date releaseDate;

    @TableField(value = "created_by")
    private String createdBy;

    /**
     * 标识薪酬发放的状态，如已发放、未发放、已确认，便于跟踪发放进度
     */
    @TableField(value = "Issuance_status")
    private String issuanceStatus;

    /**
     * 获取鍞竴鏍囪瘑钖叕鍙戞斁璁板綍鐨勭紪鍙凤紝渚夸簬鏌ヨ鍜屾牳瀵瑰彂鏀炬儏鍐?
     *
     * @return records_id - 鍞竴鏍囪瘑钖叕鍙戞斁璁板綍鐨勭紪鍙凤紝渚夸簬鏌ヨ鍜屾牳瀵瑰彂鏀炬儏鍐?
     */
    public Integer getRecordsId() {
        return recordsId;
    }

    /**
     * 设置鍞竴鏍囪瘑钖叕鍙戞斁璁板綍鐨勭紪鍙凤紝渚夸簬鏌ヨ鍜屾牳瀵瑰彂鏀炬儏鍐?
     *
     * @param recordsId 鍞竴鏍囪瘑钖叕鍙戞斁璁板綍鐨勭紪鍙凤紝渚夸簬鏌ヨ鍜屾牳瀵瑰彂鏀炬儏鍐?
     */
    public void setRecordsId(Integer recordsId) {
        this.recordsId = recordsId;
    }

    /**
     * 获取涓庡憳宸ュ熀鏈俊鎭〃涓殑鍛樺伐ID鍏宠仈锛屾槑纭彂鏀惧璞?
     *
     * @return emp - 涓庡憳宸ュ熀鏈俊鎭〃涓殑鍛樺伐ID鍏宠仈锛屾槑纭彂鏀惧璞?
     */
    public String getEmp() {
        return emp;
    }

    /**
     * 设置涓庡憳宸ュ熀鏈俊鎭〃涓殑鍛樺伐ID鍏宠仈锛屾槑纭彂鏀惧璞?
     *
     * @param emp 涓庡憳宸ュ熀鏈俊鎭〃涓殑鍛樺伐ID鍏宠仈锛屾槑纭彂鏀惧璞?
     */
    public void setEmp(String emp) {
        this.emp = emp;
    }

    /**
     * @return departmental
     */
    public String getDepartmental() {
        return departmental;
    }

    /**
     * @param departmental
     */
    public void setDepartmental(String departmental) {
        this.departmental = departmental;
    }

    /**
     * @return postsName
     */
    public String getPostsname() {
        return postsname;
    }

    /**
     * @param postsname
     */
    public void setPostsname(String postsname) {
        this.postsname = postsname;
    }

    /**
     * 获取鍛樺伐褰撴湀搴斿緱鐨勮柂閰€婚锛屾牴鎹柂閰粨鏋勮〃鍙婅€冨嫟缁╂晥璁＄畻寰楀嚭
     *
     * @return amount_due - 鍛樺伐褰撴湀搴斿緱鐨勮柂閰€婚锛屾牴鎹柂閰粨鏋勮〃鍙婅€冨嫟缁╂晥璁＄畻寰楀嚭
     */
    public Double getAmountDue() {
        return amountDue;
    }

    /**
     * 设置鍛樺伐褰撴湀搴斿緱鐨勮柂閰€婚锛屾牴鎹柂閰粨鏋勮〃鍙婅€冨嫟缁╂晥璁＄畻寰楀嚭
     *
     * @param amountDue 鍛樺伐褰撴湀搴斿緱鐨勮柂閰€婚锛屾牴鎹柂閰粨鏋勮〃鍙婅€冨嫟缁╂晥璁＄畻寰楀嚭
     */
    public void setAmountDue(Double amountDue) {
        this.amountDue = amountDue;
    }

    /**
     * @return subsidy
     */
    public Double getSubsidy() {
        return subsidy;
    }

    /**
     * @param subsidy
     */
    public void setSubsidy(Double subsidy) {
        this.subsidy = subsidy;
    }

    /**
     * 获取鏍煎紡涓篩YYYMM锛屾爣璇嗚柂閰彂鏀剧殑鏈堜唤锛屼笌鑰冨嫟缁╂晥鏈堜唤涓€鑷?
     *
     * @return pay_salary - 鏍煎紡涓篩YYYMM锛屾爣璇嗚柂閰彂鏀剧殑鏈堜唤锛屼笌鑰冨嫟缁╂晥鏈堜唤涓€鑷?
     */
    public Double getPaySalary() {
        return paySalary;
    }

    /**
     * 设置鏍煎紡涓篩YYYMM锛屾爣璇嗚柂閰彂鏀剧殑鏈堜唤锛屼笌鑰冨嫟缁╂晥鏈堜唤涓€鑷?
     *
     * @param paySalary 鏍煎紡涓篩YYYMM锛屾爣璇嗚柂閰彂鏀剧殑鏈堜唤锛屼笌鑰冨嫟缁╂晥鏈堜唤涓€鑷?
     */
    public void setPaySalary(Double paySalary) {
        this.paySalary = paySalary;
    }

    /**
     * 获取员工当月应缴纳的个人所得税，按国家税法规定计算
     *
     * @return personal_income_tax - 员工当月应缴纳的个人所得税，按国家税法规定计算
     */
    public Double getPersonalIncomeTax() {
        return personalIncomeTax;
    }

    /**
     * 设置员工当月应缴纳的个人所得税，按国家税法规定计算
     *
     * @param personalIncomeTax 员工当月应缴纳的个人所得税，按国家税法规定计算
     */
    public void setPersonalIncomeTax(Double personalIncomeTax) {
        this.personalIncomeTax = personalIncomeTax;
    }

    /**
     * 获取员工当月个人缴纳的社会保险费用，包括养老、医疗、失业等
     *
     * @return social_security - 员工当月个人缴纳的社会保险费用，包括养老、医疗、失业等
     */
    public Double getSocialSecurity() {
        return socialSecurity;
    }

    /**
     * 设置员工当月个人缴纳的社会保险费用，包括养老、医疗、失业等
     *
     * @param socialSecurity 员工当月个人缴纳的社会保险费用，包括养老、医疗、失业等
     */
    public void setSocialSecurity(Double socialSecurity) {
        this.socialSecurity = socialSecurity;
    }

    /**
     * 获取员工当月个人缴纳的住房公积金费用，按规定比例从薪酬中扣除
     *
     * @return accumulation_fund - 员工当月个人缴纳的住房公积金费用，按规定比例从薪酬中扣除
     */
    public Double getAccumulationFund() {
        return accumulationFund;
    }

    /**
     * 设置员工当月个人缴纳的住房公积金费用，按规定比例从薪酬中扣除
     *
     * @param accumulationFund 员工当月个人缴纳的住房公积金费用，按规定比例从薪酬中扣除
     */
    public void setAccumulationFund(Double accumulationFund) {
        this.accumulationFund = accumulationFund;
    }

    /**
     * 获取其他需要从薪酬中扣除的费用，如罚款、借款等
     *
     * @return other_chargebacks - 其他需要从薪酬中扣除的费用，如罚款、借款等
     */
    public Double getOtherChargebacks() {
        return otherChargebacks;
    }

    /**
     * 设置其他需要从薪酬中扣除的费用，如罚款、借款等
     *
     * @param otherChargebacks 其他需要从薪酬中扣除的费用，如罚款、借款等
     */
    public void setOtherChargebacks(Double otherChargebacks) {
        this.otherChargebacks = otherChargebacks;
    }

    /**
     * 获取员工当月实际收到的薪酬金额，应发金额减去各项扣款后的金额
     *
     * @return actual_amount - 员工当月实际收到的薪酬金额，应发金额减去各项扣款后的金额
     */
    public Double getActualAmount() {
        return actualAmount;
    }

    /**
     * 设置员工当月实际收到的薪酬金额，应发金额减去各项扣款后的金额
     *
     * @param actualAmount 员工当月实际收到的薪酬金额，应发金额减去各项扣款后的金额
     */
    public void setActualAmount(Double actualAmount) {
        this.actualAmount = actualAmount;
    }

    /**
     * 获取钖叕鍙戞斁鐨勬棩鏈燂紝鏍煎紡涓篩YYYMMDD锛岀敤浜庤褰曟敮浠樻椂闂?
     *
     * @return release_date - 钖叕鍙戞斁鐨勬棩鏈燂紝鏍煎紡涓篩YYYMMDD锛岀敤浜庤褰曟敮浠樻椂闂?
     */
    public Date getReleaseDate() {
        return releaseDate;
    }

    /**
     * 设置钖叕鍙戞斁鐨勬棩鏈燂紝鏍煎紡涓篩YYYMMDD锛岀敤浜庤褰曟敮浠樻椂闂?
     *
     * @param releaseDate 钖叕鍙戞斁鐨勬棩鏈燂紝鏍煎紡涓篩YYYMMDD锛岀敤浜庤褰曟敮浠樻椂闂?
     */
    public void setReleaseDate(Date releaseDate) {
        this.releaseDate = releaseDate;
    }

    /**
     * @return created_by
     */
    public String getCreatedBy() {
        return createdBy;
    }

    /**
     * @param createdBy
     */
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    /**
     * 获取标识薪酬发放的状态，如已发放、未发放、已确认，便于跟踪发放进度
     *
     * @return Issuance_status - 标识薪酬发放的状态，如已发放、未发放、已确认，便于跟踪发放进度
     */
    public String getIssuanceStatus() {
        return issuanceStatus;
    }

    /**
     * 设置标识薪酬发放的状态，如已发放、未发放、已确认，便于跟踪发放进度
     *
     * @param issuanceStatus 标识薪酬发放的状态，如已发放、未发放、已确认，便于跟踪发放进度
     */
    public void setIssuanceStatus(String issuanceStatus) {
        this.issuanceStatus = issuanceStatus;
    }
}